package javase.Reflect;

/*
获取到class能干吗
    通过Class的new一个对象，必须保证无参构造的存在
    更加 灵活
 */
public class ReflectTest02 {
    public static void main(String[] args) {
        // 通过反射机制，获取Class

        // 以反射机制创建对象 与new 有什么区别？？
        try {
            Class c = Class.forName("javase.bean.User");
            Object obj = null;
            try {
                // newInstance() 调用的是无参构造方法，必须保证无参构造方法是存在的
                obj = c.newInstance(); // 调用了user的无参构造方法完成对象创建。

                System.out.println(obj);

            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}
